#!/bin/bash
##---
# Julien Lengrand-Lambert
# Created on : Sat Jun 11 22:15:32 CEST 2011
#
# DESCRIPTION : Script designed to automatically watermark all the images in a folder given a template. Resize images at the same time to make them fit with Piwigo's desires. 
# EXAMPLE : ./waterMark in_folder out_folder watermark_image
#
# IMAGEMAGICK COMMANDS:
#   identify -format "%w,%h"foto.jpg 
#   composite -gravity SouthWest -geometry +5+5 -size 2000x2000 site.png foto_new.jpg test.jpg
#   convert -resize 1024 foto.jpg foto_new.jpg
##---

# Check whether imagemagick is installed
hash identify 2>&- || { echo >&2 "imagemagick is required to use this script! Aborting."; exit 1; }

IN_REPO=$1
OUT_REPO=$2
WATER=$3
echo " Input repo is : $IN_REPO"

# creating output folder
mkdir -pv $OUT_REPO

SAVEIFS=$IFS # used to take care of files with spacenames
IFS=$(echo -en "\n\b")
for file in $IN_REPO/*
do
	HEIGHT=$(identify -format "%h" ${file})
	WIDTH=$(identify -format "%w" ${file})
	#echo "w: $WIDTH , h:$HEIGHT"

	BASEFILE=$(basename $file)
	#DIRFILE=$(dirname $file)

	OUTNAME="$OUT_REPO/$BASEFILE"	
	#echo "OUT : $OUTNAME"	

	#echo "dir : $DIRFILE, base : $BASEFILE"

	#checking wether we are in portrait or lanscape mode 
	#---
	if [ $WIDTH -ge $HEIGHT ]
	then
		echo "image $file is in landscape mode !"
		#resizing
		DIM="1024"
		GRAV="SouthWest"
	#---
	elif [ $HEIGHT -gt $WIDTH ]
	then
		echo "Image $file is in portrait mode !"
		DIM="x1024"
		GRAV="NorthWest"
	#---
	else
		echo "Unknown problem with file $file. Image not processed !"
		continue
	fi
	#---
	#resizing 
	convert -resize $DIM $file $OUTNAME
	composite -gravity $GRAV -geometry +10+10 $WATER $OUTNAME $OUTNAME
	
done
IFS=$SAVEIFS
exit 0
